﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Backend.DTO
{
    public class PatientDTO
    {
        public int Id { get; set; }

        /*--- A Section Parameters (37 fields) ---*/
        public string Param_NationalRegistrationNumber { get; set; }
        public string Param_Sex { get; set; }
        public int Param_Age { get; set; }
        public DateTime Param_DateOfAdmission { get; set; }
        public DateTime Param_TimeOfAdmission { get; set; }
        public bool Param_EarlierEpisodesOfSbo { get; set; }
        public int Param_EarlierAbdominalSurgery { get; set; }
        public int Param_EarlierAbdominalSurgery2 { get; set; }
        public int Param_EarlierAbdominalSurgery3 { get; set; }
        public bool Param_Hypertension { get; set; }
        public bool Param_AnginaPectoris { get; set; }
        public bool Param_HeartFailure { get; set; }
        public bool Param_Ami { get; set; }
        public bool Param_StrokeTia { get; set; }
        public bool Param_KidneyFailure { get; set; }
        public bool Param_Diabetes { get; set; }
        public int Param_PulmonaryDisease { get; set; }
        public bool Param_OtherChronicDisease { get; set; }
        public DateTime Param_TimeForRadiologyAnswer { get; set; }
        public bool Param_Surgery { get; set; }
        public DateTime Param_DateForSurgicalAnnouncment { get; set; }
        public DateTime Param_DateForSurgery { get; set; }
        public DateTime Param_TimeForSurgicalAnnouncement { get; set; }
        public DateTime Param_TimeUntilSurgery { get; set; }
        public DateTime Param_TimeUntilSurgeryAccordingToOrbit { get; set; }
        public string Param_Diagnosis { get; set; }
        public int? Param_DiagnosisInDischargeNote { get; set; }
        public int? Param_MalignantDiagnosis { get; set; }
        public int Param_TimeUntilBowelMovement { get; set; }
        public bool Param_ReSurgery { get; set; }
        public DateTime Param_DaysAdmitted { get; set; }
        public DateTime Param_HoursAdmitted { get; set; }
        public bool Param_Dead { get; set; }
        public DateTime Param_DateOfDeath { get; set; }
        public bool Param_DeadWithin30DaysFromAdmission { get; set; }
        public bool Param_ReAdmissionDueToSbo { get; set; }
        public DateTime Param_DateForReAdmission { get; set; }

        /*--- B Section Parameters (5 fields) ---*/
        public int Param_CrpD0 { get; set; }
        public int Param_CrpMax { get; set; }
        public int Param_KreaD0 { get; set; }
        public int Param_KreaMax { get; set; }
        public bool Param_AbdominalPain { get; set; }

        /*--- C Section Parameters (11 fields) ---*/
        public bool Param_VomitBeforeAdmission { get; set; }
        public bool Param_VsondInitially { get; set; }
        public int? Param_VsondLossesMax { get; set; }
        public int Param_LengthOfHistory { get; set; }
        public int Param_ClinicalEvaluation { get; set; }
        public int Param_TypeOfSurgery { get; set; }
        public int Param_2ndSurgery { get; set; }
        public int Param_WasRadiologicAnswerCorrect { get; set; }
        public int Param_TimeUnderSurgery { get; set; }
        public int Param_PostoperativeComplications { get; set; }
        public int Param_DaysAtIcu { get; set; }

        /*--- D Section Parameters (7 fields) ---*/
        public int Param_1stRadiology { get; set; }
        public int Param_2ndRadiology { get; set; }
        public int Param_3rdRadiology { get; set; }
        public int Param_4thRadiology { get; set; }
        public int Param_5thRadiology { get; set; }
        public int Param_RadiologyAnswer { get; set; }
        public bool Param_CirculatoryAffectedBowels { get; set; }

        /*--- Extra field Parameters ---*/
        public string Param_NumberOfReAdmissions { get; set; }
        public bool IsReviewed { get; set; }
        public bool IsFlagged { get; set; }
    }
}
